using System;
using System.Web;

namespace AUSRIS.Reports.Extensions.Security.Authentication
{
    public interface IAuthenticationProvider
    {
        /// <summary>
        /// Returns the username of an authenticated user.
        /// </summary>
        string GetUsername(HttpContext context);

        /// <summary>
        /// Gets the url to redirect to for authentication services.
        /// </summary>
        string GetRedirectUrl(HttpContext context);

        /// <summary>
        /// Returns a boolean indicating that the provider is to 
        /// be used with the standard Username/Password Login UI.
        /// </summary>
        bool IsUIEnabled
        {
            get;
        }
    }
}